home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 43
/
Aminet 43 (2001)(GTI - Schatztruhe)[!][Jun 2001].iso
/
Aminet
/
game
/
misc
/
WormWars.lha
/
WormWars
/
Source
/
engine.h
< prev
next >
Wrap
Text File
|
2001-04-21
|
10KB
|
245 lines
/* $Filename: WormWars/Source/engine.h $
* $VER: WormWars 6.5 $
* $Description: Constants for game engine $
*
* © Copyright 2000 James R. Jacobs.
*/
#define ARROWX (FIELDX + 1)
#define GOATMOVE 5 // assert (GOATMOVE != 0);
#define NOSE 2 // if (NOSE > PROTECTORS) nose disabled
#define NOSEDISTANCE 4
#define WORMQUEUELIMIT 15
#define DOGQUEUELIMIT 120
#define TIMELIMIT 599
#define SECONDSPERLEVEL 120 // assert (SECONDSPERLEVEL <= TIMELIMIT);
#define UNDRIFT 5 // assert (UNDRIFT != 0);
// dog dormancy
#define DORMANT 0
#define AWAKENING 1
#define CHASING 10
// frequencies
#define FREQ_PENGUIN 1
#define FREQ_DRIP 1
#define FREQ_MAX 70
#define FREQ_DEC 2
#define FREQ_MIN 10
#define FREQ_TELEPORT 240
#define BONUSPENGUINSPEED 7
#define BONUSDRIPSPEED 11
#define BONUSFRAGSPEED 9
#define BONUSMISSILESPEED 9
#define CLOUDSPEED 9
#define DOGSPEED 8
#define DRIPSPEED 13
#define FRAGSPEED 10
#define GOATSPEED 19
#define MAGNETSPEED 9
#define MISSILESPEED 12
#define ORBSPEED 11
#define PENGUINSPEED 23
#define TIMEBOMBSPEED 60
// population limits
#define CREATURES 50
#define MAGNETS 20
#define PROTECTORS 2 // <=4!
// vampirism
#define DRIPBLOOD 1
#define GOATBLOOD 1
#define OCTOPUSBLOOD 1
#define ORBBLOOD 1
#define PENGUINBLOOD 1
// jump distances
#define FASTDISTANCE 5
#define NORMALDISTANCE 4
#define SLOWDISTANCE 3
#define VERYSLOWDISTANCE 2
// skill points
#define EMPTYPOINT 1
#define TAILBONUS 1
#define DYNAMITEPOINT 5
#define TURNTOSILVER 5
#define TURNTOGOLD 10
#define SILVERPOINT 10
#define TIMEBONUS 10
#define ENCLOSUREPOINT 10
#define TELPOINT 20
#define GOLDPOINT 20
#define HITSHOT 50
#define KILLGOAT 50
#define KILLPENGUIN 50
#define KILLOCTOPUS 75
#define KILLWORM 100
#define BOMBOVEREDGE 100
#define SKULLPOINT 100
#define LETTERPOINT 100
#define DRIPBONUS 100
#define LEVELBONUS 100
// pain ratings
#define DOGPAIN 5
#define DRIPPAIN 5
#define HEADPAIN 5
#define MISSILEPAIN 5
#define ORBPAIN 5
#define OCTOPUSPAIN 5
#define PROTECTORPAIN 5
#define REMNANTPAIN 5
#define TELEPORTPAIN 5
#define WORMFIREPAIN 5
#define WHIRLWINDPAIN 5
#define BOMBPAIN 3
#define CLOUDPAIN 3
#define FRAGMENTPAIN 3
#define LIGHTNINGPAIN 3
#define METALPAIN 3
#define OTHERTAILPAIN 3
#define PENGUINPAIN 3
#define PENGUINPAIN 3
#define GOATPAIN 2
#define SLAYERPAIN 2
#define SLIMEPAIN 2
#define STONEPAIN 1
#define TAILPAIN 1
#define WOODPAIN 1
// objects
#define BOMBADD 5 // in squares radius
#define BOMBRAND 25
#define CLOCKADD 10 // in seconds
#define CLOCKRAND 20
#define CUTTERADD 20 // in VERYSLOWs
#define CUTTERRAND 25
#define FREEDOMADD 20 // in VERYSLOWs
#define FREEDOMRAND 50
#define ICEADD 5 // in VERYSLOWs
#define ICERAND 5
#define MODEADD 30 // in VERYSLOWs
#define MODERAND 40
#define TREASUREADD 10 // in seconds
#define TREASURERAND 10
MODULE void changefield(void);
MODULE void clearletters(void);
MODULE void death(void);
MODULE void fastloop(void);
MODULE void killall(void);
MODULE void magnetloop(void);
MODULE void newfield(void);
MODULE void newhiscores(void);
MODULE void slowloop(void);
MODULE void bangdynamite(SBYTE x, SBYTE y, SBYTE player);
MODULE void bombblast(SBYTE triggerer, SBYTE player, SBYTE centrex, SBYTE centrey);
MODULE void bothcol(SBYTE player, SBYTE x, SBYTE y);
MODULE void bouncegoat(SBYTE which, SBYTE x, SBYTE y);
MODULE void __inline change(SBYTE x, SBYTE y, UBYTE image);
MODULE void cloudbullet(UBYTE which, SBYTE x, SBYTE y, SBYTE deltay);
MODULE void copyfield(SBYTE source, SBYTE destination);
MODULE void createmissile(UBYTE player, SBYTE x, SBYTE y);
MODULE void creatureloop(SBYTE which);
MODULE void dogqueue(SBYTE which, SBYTE deltax, SBYTE deltay);
MODULE void drawcause(SBYTE player, SBYTE state);
MODULE void drawletter(SBYTE player, SBYTE letter, SBYTE state);
MODULE void explosion(SBYTE x, SBYTE y, SBYTE exceptionx, SBYTE exceptiony, UBYTE creator);
MODULE void newlevel(SBYTE player);
MODULE void orbscore(SBYTE which, ULONG score);
MODULE void orbsplit(SBYTE which);
MODULE void protcol(SBYTE player, SBYTE x, SBYTE y, SBYTE thisprot);
MODULE void putletter(SBYTE player);
MODULE void ramming(SBYTE player);
MODULE void reflect(UBYTE which);
MODULE void turnworm(SBYTE player, SBYTE deltax, SBYTE deltay);
MODULE void updatearrow(SBYTE arrowy);
MODULE void wormbullet(SBYTE player);
MODULE void wormletter(SBYTE player, SBYTE c);
MODULE void wormloop(SBYTE player);
MODULE void wormcol(SBYTE player, SBYTE x, SBYTE y, ABOOL enclosed);
MODULE void dogdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dogdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dogfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dogmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dogorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dogpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dogwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dripfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dripmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void driporb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void drippenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void dripwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void fragfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void fragorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void fragmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void fragpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void fragwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void missilemissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void missilepenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void missilewhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void orborb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void orbmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void orbpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void orbwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void penguinwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void whirlwindwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void wormdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void wormdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void wormfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void wormmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void wormorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void wormpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void wormwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void wormworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protdog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protdrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void protprot(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void clouddog(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void clouddrip(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void cloudfrag(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void cloudmissile(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void cloudorb(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void cloudpenguin(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void cloudwhirlwind(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void cloudworm(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void cloudprot(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void cloudcloud(SBYTE x, SBYTE y, UBYTE which1, UBYTE which2);
MODULE void octopusfire(UBYTE which);
MODULE SWORD atleast(SWORD value, SWORD minimum);
MODULE ABOOL blocked(SBYTE which, SBYTE deltax, SBYTE deltay);
MODULE ABOOL bounceorb(SBYTE which, SBYTE x, SBYTE y);
MODULE SBYTE bsign(SBYTE value);
MODULE ABOOL findempty(SBYTE* x, SBYTE* y, SBYTE first, SBYTE last);
MODULE SBYTE onlyworm(ABOOL alive);
MODULE SBYTE slowdown(SBYTE speed, ABOOL nitro);
MODULE SBYTE speedup(SBYTE speed, ABOOL nitro);
MODULE ULONG squareblast(SBYTE type, SBYTE player, SBYTE thissy, SBYTE x, SBYTE y, ABOOL cutter);
MODULE UBYTE whichcreature(SBYTE x, SBYTE y, UBYTE species, UBYTE exception);
MODULE SBYTE whichteleport(SBYTE x, SBYTE y);
MODULE ULONG wormobject(UBYTE player, SBYTE x, SBYTE y);